文件系统基础
文件的概念
- 文件的定义
文件是以计算机硬盘为载体存储在计算机上的信息集合。文件系统是管理文件的机构 - 文件自底向上结构
- 数据项:文件系统最低级数据组织形式
- 记录:一组相关数据项的集合
- 文件:创建者定义的一组相关信息集合
- 文件属性
- 名称
- 大小
- 类型
- 位置
- 保护
- 时间、日期和用户标识
- 文件基本操作
- 创建文件
- 读文件
- 写文件
- 文件重定位
- 删除文件
- 截断文件
- 文件的打开和关闭
打开文件信息- 文件指针
- 文件打开计数
- 文件磁盘位置
文件逻辑结构
- 无结构文件(流式文件)
- 有结构文件(记录式文件)
- 顺序文件:
- 串结构:记录之间的顺序与关键字无关
- 顺序结构:记录按照关键字排序
- 引索文件
- 引索顺序文件
- 直接文件或散列文件
目录结构
目录管理通过树形结构实现
- 文件控制块(FCB)和索引结点
- 文件控制块:
- 基本信息
- 文件控制信息
- 使用信息
- 索引结点
- 文件控制块:
- 目录结构
- 目录操作
- 搜索
- 创建文件
- 删除文件
- 显示目录
- 修改目录
- 目录结构
- 单级目录结构
- 两级目录结构
- 多级目录结构:如Linux的目录结构
- 无环图目录结构
- 目录操作
文件共享
文件共享:多个用户或进程共享一份文件,系统中只保留该文件一份副本
- 基于索引结点的共享方式(硬链接)
多个指针指向一个索引结点,只要还有指针指向该索引节点,该索引结点就不能删除 - 利用符号链实现文件共享(软连链接)
记录到达共享文件的路径,根据文件路径找文件。 - 比较:硬链接比软链接查找速度快
文件保护
文件保护通过口令保护、加密保护和访问控制方式实现
- 访问类型
- 读
- 写
- 执行
- 添加
- 删除
- 列表清单
- 访问类型
- 拥有者
- 组
- 其他用户
文件系统实现
文件系统层次结构
目录实现
- 线性列表
- 哈希表
文件实现
- 文件分配方式
- 连续分配:每个文件在磁盘中占用一个连续的块,支持顺序访问和直接访问,有外部碎片。
- 链接分配:采用离散分配方式,只支持指针顺序访问,无外部碎片。
- 索引分配:每个文件的盘块号构成索引块,若要读第i块,则通过索引块的第i个条目的指针来操作所需的块,支持多层索引和混合索引。
- 文件存储空间管理
- 空闲表:所有空闲块组织成表
- 空闲链表法:所有空闲块组织成链表
- 位示图:利用二进制的每位记录空闲块,1表示块已经使用,0表示空闲
- 成组链接法:结合空闲表和空闲链表,适合大型文件系统
磁盘组织和管理
磁盘的结构
- 磁道:盘面的一组同心圆
- 扇区:磁道划分为扇区,磁盘可寻址的最小存储单位
- 柱面:相对位置相同的磁道组成柱面
- 磁盘地址:用“柱面号.盘面号.扇区号”表示
磁盘调度算法
一次磁盘读写操作由寻道时间、延迟时间、传输时间组成
- 寻道时间:磁头移动到指定磁道的时间
- 延迟时间:磁头定位到某一磁道的扇区时间
- 传输时间:读写数据的时间
磁盘调度算法
- 先来先服务(FCFS)算法
- 最短寻找时间优先(SSTF)
- 扫描(SCAN)算法或电梯算法
- 循环扫描(C-SCAN)算法
磁盘的管理
- 磁盘初始化:对磁盘进行低级格式化和逻辑格式化
- 引导快:存放自举程序,
- 坏块:对于损坏扇区的处理